#pragma once

#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>

class RenderbufferObject
{
public:
	/// Ctors/Dtors
	RenderbufferObject(void);
	RenderbufferObject(const GLenum internalFormat, const int width, const int height);
	virtual ~RenderbufferObject(void);

	void Bind(void);
	void Unbind(void);
	void Set(const GLenum internalFormat, const int width, const int height);
	const GLuint GetId(void) const;

	static GLint GetMaxSize(void);

private:
	RenderbufferObject(const RenderbufferObject&);

	GLuint _RBOObject;

	static GLuint CreateBufferId(void);
};
